package com.springcloud.config;

import org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapper;
import org.springframework.cloud.netflix.zuul.filters.post.LocationRewriteFilter;
import org.springframework.context.annotation.Bean;

//@Configuration
public class ZuulConfig {

	@Bean
	public PatternServiceRouteMapper serviceRouteMapper() {
		return new PatternServiceRouteMapper("(?<name>^.+)-(?<version>v.+$)", "${version}/${name}");
	}

	// 如果Zuul面向Web应用程序，那么当Web应用程序通过http状态代码3XX重定向时，可能需要重写Location头，
	// 否则浏览器将最终重定向到Web应用程序的url而不是Zuul url。
	// LocationRewriteFilter
	// Zuul过滤器可以配置为重新写入Zuul的URL的位置标题，它还添加剥离的全局和路由特定的前缀。过滤器可以通过一个Spring配置文件以下面的方式添加：
	@Bean
	public LocationRewriteFilter locationRewriteFilter() {
		return new LocationRewriteFilter();
	}
}
